package com.unknow.first.dapp.admin.account.mapper;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;

@ApiModel(description = "t_flash_swap_record")
@Data
@Accessors(chain = true)
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_flash_swap_record")
public class FlashSwapRecord {

    /**
     * 闪兑换记录Id
     */
    @TableId(value = "flash_swap_record_id", type = IdType.AUTO)
    @ApiModelProperty(value = "闪兑换记录Id")
    private Long flashSwapRecordId;

    @TableField(value = "address")
    @ApiModelProperty(value = "交易地址")
    private String address;

    /**
     * 交易队id
     */
    @TableField(value = "swap_pair_id")
    @ApiModelProperty(value = "交易队id")
    private Integer swapPairId;

    /**
     * 兑换币种Id
     */
    @TableField(value = "from_coin_id")
    @ApiModelProperty(value = "兑换币种Id")
    private Integer fromCoinId;

    /**
     * 兑换币种名称
     */
    @TableField(value = "from_coin_name")
    @ApiModelProperty(value = "兑换币种名称")
    private String fromCoinName;

    /**
     * 兑换币种简称
     */
    @TableField(value = "from_coin_symbol")
    @ApiModelProperty(value = "兑换币种简称")
    private String fromCoinSymbol;

    /**
     * 兑换金额
     */
    @TableField(value = "from_coin_amount")
    @ApiModelProperty(value = "兑换金额")
    private BigDecimal fromCoinAmount;


    /**
     * 手续费
     */
    @TableField(value = "charge")
    @ApiModelProperty(value = "手续费")
    private BigDecimal charge;

    /**
     * 手续费
     */
    @TableField(value = "actual_from_coin_amount", updateStrategy = FieldStrategy.NEVER, insertStrategy = FieldStrategy.NEVER)
    @ApiModelProperty(value = "实际兑换金额")
    private BigDecimal actualFromCoinAmount;


    /**
     * 价格
     */
    @TableField(value = "price")
    @ApiModelProperty(value = "价格")
    private BigDecimal price;

    /**
     * 价格
     */
    @TableField(value = "price_tag")
    @ApiModelProperty(value = "价格标识")
    private String priceTag;



    /**
     * 换出币种ID
     */
    @TableField(value = "to_coin_id")
    @ApiModelProperty(value = "换出币种ID")
    private Integer toCoinId;

    /**
     * 换出币种名称
     */
    @TableField(value = "to_coin_name")
    @ApiModelProperty(value = "换出币种名称")
    private String toCoinName;

    /**
     * 换出币种简称
     */
    @TableField(value = "to_coin_symbol")
    @ApiModelProperty(value = "换出币种简称")
    private String toCoinSymbol;

    /**
     * 换出金额
     */
    @TableField(value = "to_coin_amount")
    @ApiModelProperty(value = "换出金额")
    private BigDecimal toCoinAmount;

    @TableField(value = "CREATED_BY")
    @ApiModelProperty(value = "")
    private String createdBy;

    @TableField(value = "CREATED_DATE")
    @ApiModelProperty(value = "")
    private Date createdDate;

    @TableField(value = "UPDATED_BY")
    @ApiModelProperty(value = "")
    private String updatedBy;

    @TableField(value = "UPDATED_DATE")
    @ApiModelProperty(value = "")
    private Date updatedDate;

    public static final String COL_FLASH_SWAP_RECORD_ID = "flash_swap_record_id";

    public static final String COL_SWAP_PAIR_ID = "swap_pair_id";

    public static final String COL_FROM_COIN_ID = "from_coin_id";

    public static final String COL_FROM_COIN_NAME = "from_coin_name";

    public static final String COL_FROM_COIN_SYMBOL = "from_coin_symbol";

    public static final String COL_FROM_COIN_AMOUNT = "from_coin_amount";

    public static final String COL_PRICE = "price";

    public static final String COL_TO_COIN_ID = "to_coin_id";

    public static final String COL_TO_COIN_NAME = "to_coin_name";

    public static final String COL_TO_COIN_SYMBOL = "to_coin_symbol";

    public static final String COL_TO_COIN_AMOUNT = "to_coin_amount";

    public static final String COL_CREATED_BY = "CREATED_BY";

    public static final String COL_CREATED_DATE = "CREATED_DATE";

    public static final String COL_UPDATED_BY = "UPDATED_BY";

    public static final String COL_UPDATED_DATE = "UPDATED_DATE";
}